{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "## Movielens"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "hidden": true,
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "%reload_ext autoreload\n",
    "%autoreload 2\n",
    "%matplotlib inline\n",
    "\n",
    "from fastai.learner import *\n",
    "from fastai.column_data import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Data available from http://files.grouplens.org/datasets/movielens/ml-latest-small.zip"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "path='data/ml-latest-small/'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "We're working with the movielens data, which contains one rating per row, like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userId</th>\n",
       "      <th>movieId</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>31</td>\n",
       "      <td>2.5</td>\n",
       "      <td>1260759144</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1029</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1260759179</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>1061</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1260759182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1129</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1260759185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>1172</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1260759205</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   userId  movieId  rating   timestamp\n",
       "0       1       31     2.5  1260759144\n",
       "1       1     1029     3.0  1260759179\n",
       "2       1     1061     3.0  1260759182\n",
       "3       1     1129     2.0  1260759185\n",
       "4       1     1172     4.0  1260759205"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ratings = pd.read_csv(path + 'ratings.csv')\n",
    "ratings.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Just for display purposes, let's read in the movie names too."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>movieId</th>\n",
       "      <th>title</th>\n",
       "      <th>genres</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Toy Story (1995)</td>\n",
       "      <td>Adventure|Animation|Children|Comedy|Fantasy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>Jumanji (1995)</td>\n",
       "      <td>Adventure|Children|Fantasy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>Grumpier Old Men (1995)</td>\n",
       "      <td>Comedy|Romance</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>Waiting to Exhale (1995)</td>\n",
       "      <td>Comedy|Drama|Romance</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Father of the Bride Part II (1995)</td>\n",
       "      <td>Comedy</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   movieId                               title  \\\n",
       "0        1                    Toy Story (1995)   \n",
       "1        2                      Jumanji (1995)   \n",
       "2        3             Grumpier Old Men (1995)   \n",
       "3        4            Waiting to Exhale (1995)   \n",
       "4        5  Father of the Bride Part II (1995)   \n",
       "\n",
       "                                        genres  \n",
       "0  Adventure|Animation|Children|Comedy|Fantasy  \n",
       "1                   Adventure|Children|Fantasy  \n",
       "2                               Comedy|Romance  \n",
       "3                         Comedy|Drama|Romance  \n",
       "4                                       Comedy  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies = pd.read_csv(path + 'movies.csv')\n",
    "movies.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "## Create subset for Excel"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "We create a crosstab of the most popular movies and most movie-addicted users which we'll copy into Excel for creating a simple example. This isn't necessary for any of the modeling below however."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>movieId</th>\n",
       "      <th>1</th>\n",
       "      <th>110</th>\n",
       "      <th>260</th>\n",
       "      <th>296</th>\n",
       "      <th>318</th>\n",
       "      <th>356</th>\n",
       "      <th>480</th>\n",
       "      <th>527</th>\n",
       "      <th>589</th>\n",
       "      <th>593</th>\n",
       "      <th>608</th>\n",
       "      <th>1196</th>\n",
       "      <th>1198</th>\n",
       "      <th>1270</th>\n",
       "      <th>2571</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>3.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>294</th>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>311</th>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>380</th>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>452</th>\n",
       "      <td>3.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>468</th>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>509</th>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>547</th>\n",
       "      <td>3.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>564</th>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>580</th>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.5</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>624</th>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "movieId  1     110   260   296   318   356   480   527   589   593   608   \\\n",
       "userId                                                                      \n",
       "15        2.0   3.0   5.0   5.0   2.0   1.0   3.0   4.0   4.0   5.0   5.0   \n",
       "30        4.0   5.0   4.0   5.0   5.0   5.0   4.0   5.0   4.0   4.0   5.0   \n",
       "73        5.0   4.0   4.5   5.0   5.0   5.0   4.0   5.0   3.0   4.5   4.0   \n",
       "212       3.0   5.0   4.0   4.0   4.5   4.0   3.0   5.0   3.0   4.0   NaN   \n",
       "213       3.0   2.5   5.0   NaN   NaN   2.0   5.0   NaN   4.0   2.5   2.0   \n",
       "294       4.0   3.0   4.0   NaN   3.0   4.0   4.0   4.0   3.0   NaN   NaN   \n",
       "311       3.0   3.0   4.0   3.0   4.5   5.0   4.5   5.0   4.5   2.0   4.0   \n",
       "380       4.0   5.0   4.0   5.0   4.0   5.0   4.0   NaN   4.0   5.0   4.0   \n",
       "452       3.5   4.0   4.0   5.0   5.0   4.0   5.0   4.0   4.0   5.0   5.0   \n",
       "468       4.0   3.0   3.5   3.5   3.5   3.0   2.5   NaN   NaN   3.0   4.0   \n",
       "509       3.0   5.0   5.0   5.0   4.0   4.0   3.0   5.0   2.0   4.0   4.5   \n",
       "547       3.5   NaN   NaN   5.0   5.0   2.0   3.0   5.0   NaN   5.0   5.0   \n",
       "564       4.0   1.0   2.0   5.0   NaN   3.0   5.0   4.0   5.0   5.0   5.0   \n",
       "580       4.0   4.5   4.0   4.5   4.0   3.5   3.0   4.0   4.5   4.0   4.5   \n",
       "624       5.0   NaN   5.0   5.0   NaN   3.0   3.0   NaN   3.0   5.0   4.0   \n",
       "\n",
       "movieId  1196  1198  1270  2571  \n",
       "userId                           \n",
       "15        5.0   4.0   5.0   5.0  \n",
       "30        4.0   5.0   5.0   3.0  \n",
       "73        5.0   5.0   5.0   4.5  \n",
       "212       NaN   3.0   3.0   5.0  \n",
       "213       5.0   3.0   3.0   4.0  \n",
       "294       4.0   4.5   4.0   4.5  \n",
       "311       3.0   4.5   4.5   4.0  \n",
       "380       4.0   NaN   3.0   5.0  \n",
       "452       4.0   4.0   4.0   2.0  \n",
       "468       3.0   3.5   3.0   3.0  \n",
       "509       5.0   5.0   3.0   4.5  \n",
       "547       2.5   2.0   3.5   3.5  \n",
       "564       5.0   5.0   3.0   3.0  \n",
       "580       4.0   3.5   3.0   4.5  \n",
       "624       5.0   5.0   5.0   2.0  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "g = ratings.groupby('userId')['rating'].count()\n",
    "topUsers = g.sort_values(ascending=False)[:15]\n",
    "\n",
    "g = ratings.groupby('movieId')['rating'].count()\n",
    "topMovies = g.sort_values(ascending=False)[:15]\n",
    "\n",
    "top_r = ratings.join(topUsers, rsuffix='_r', how='inner', on='userId')\n",
    "top_r = top_r.join(topMovies, rsuffix='_r', how='inner', on='movieId')\n",
    "\n",
    "pd.crosstab(top_r.userId, top_r.movieId, top_r.rating, aggfunc=np.sum)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "## Collaborative filtering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "val_idxs = get_cv_idxs(len(ratings))\n",
    "wd = 2e-4\n",
    "n_factors = 50"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "cf = CollabFilterDataset.from_csv(path, 'ratings.csv', 'userId', 'movieId', 'rating')\n",
    "learn = cf.get_learner(n_factors, val_idxs, 64, opt_fn=optim.Adam)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "hidden": true,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1f8cabce125643828eb9d8e0878f5221",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                  \n",
      "    0      0.802578   0.80588   \n",
      "    1      0.777764   0.780405                                  \n",
      "    2      0.618335   0.765575                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([0.76558])]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "learn.fit(1e-2, 2, wds=wd, cycle_len=1, cycle_mult=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Let's compare to some benchmarks. Here's [some benchmarks](https://www.librec.net/release/v1.3/example.html) on the same dataset for the popular Librec system for collaborative filtering. They show best results based on [RMSE](http://www.statisticshowto.com/rmse/) of 0.91. We'll need to take the square root of our loss, since we use plain MSE."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8809086218218096"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "math.sqrt(0.776)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Looking good - we've found a solution better than any of those benchmarks! Let's take a look at how the predictions compare to actuals for this model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "preds = learn.predict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/paperspace/anaconda3/envs/fastai/lib/python3.6/site-packages/scipy/stats/stats.py:1706: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f41ae79aa90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "y = learn.data.val_y\n",
    "sns.jointplot(preds, y, kind='hex', stat_func=None);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analyze results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Movie bias"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "movie_names = movies.set_index('movieId')['title'].to_dict()\n",
    "g = ratings.groupby('movieId')['rating'].count()\n",
    "topMovies = g.sort_values(ascending=False).index.values[:3000]\n",
    "topMovieIdx = np.array([cf.item2idx[o] for o in topMovies])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "EmbeddingDotBias(\n",
       "  (u): Embedding(671, 50)\n",
       "  (i): Embedding(9066, 50)\n",
       "  (ub): Embedding(671, 1)\n",
       "  (ib): Embedding(9066, 1)\n",
       ")"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = learn.model\n",
    "m.cuda()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "First, we'll look at the movie bias term. Here, our input is the movie id (a single id), and the output is the movie bias (a single float)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "movie_bias = to_np(m.ib(V(topMovieIdx)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.79267],\n",
       "       [0.95287],\n",
       "       [1.33858],\n",
       "       ...,\n",
       "       [0.24086],\n",
       "       [0.00687],\n",
       "       [0.1862 ]], dtype=float32)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movie_bias"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "movie_ratings = [(b[0], movie_names[i]) for i, b in zip(topMovies, movie_bias)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Now we can look at the top and bottom rated movies. These ratings are corrected for different levels of reviewer sentiment, as well as different types of movies that different reviewers watch."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(-0.9654783, 'Battlefield Earth (2000)'),\n",
       " (-0.7486593, 'Wild Wild West (1999)'),\n",
       " (-0.7136839, 'Speed 2: Cruise Control (1997)'),\n",
       " (-0.710915, 'Batman & Robin (1997)'),\n",
       " (-0.66560286, 'Flintstones, The (1994)'),\n",
       " (-0.6593919, 'Super Mario Bros. (1993)'),\n",
       " (-0.6521957, 'Dungeons & Dragons (2000)'),\n",
       " (-0.6514681, 'Anaconda (1997)'),\n",
       " (-0.6500837, 'Mighty Morphin Power Rangers: The Movie (1995)'),\n",
       " (-0.6379982, \"Joe's Apartment (1996)\"),\n",
       " (-0.63213056, 'Haunting, The (1999)'),\n",
       " (-0.62925375, 'Bio-Dome (1996)'),\n",
       " (-0.6292327, 'Godzilla (1998)'),\n",
       " (-0.62757856, 'Inspector Gadget (1999)'),\n",
       " (-0.5964294, 'Superman III (1983)')]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted(movie_ratings, key=lambda o: o[0])[:15]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(1.3385832, 'Shawshank Redemption, The (1994)'),\n",
       " (1.1023588, 'Godfather, The (1972)'),\n",
       " (1.0544332, 'Usual Suspects, The (1995)'),\n",
       " (0.98509294, \"Schindler's List (1993)\"),\n",
       " (0.95287365, 'Pulp Fiction (1994)'),\n",
       " (0.9063378, 'Godfather: Part II, The (1974)'),\n",
       " (0.8960624, '12 Angry Men (1957)'),\n",
       " (0.8817619, 'Fargo (1996)'),\n",
       " (0.87886906, 'African Queen, The (1951)'),\n",
       " (0.87500596, 'Star Wars: Episode IV - A New Hope (1977)'),\n",
       " (0.8699101, 'Dark Knight, The (2008)'),\n",
       " (0.8604914, 'Matrix, The (1999)'),\n",
       " (0.85118383, 'Silence of the Lambs, The (1991)'),\n",
       " (0.84213996, \"Amelie (Fabuleux destin d'Amélie Poulain, Le) (2001)\"),\n",
       " (0.8395255, 'To Kill a Mockingbird (1962)')]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted(movie_ratings, key=lambda o: o[0], reverse=True)[:15]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Embedding interpretation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "We can now do the same thing for the embeddings."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3000, 50)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movie_emb = to_np(m.i(V(topMovieIdx)))\n",
    "movie_emb.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Because it's hard to interpret 50 embeddings, we use [PCA](https://plot.ly/ipython-notebooks/principal-component-analysis/) to simplify them down to just 3 vectors. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "pca = PCA(n_components=3)\n",
    "movie_pca = pca.fit(movie_emb.T).components_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3, 3000)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movie_pca.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "fac0 = movie_pca[0]\n",
    "movie_comp = [(f, movie_names[i]) for f, i in zip(fac0, topMovies)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Here's the 1st component. It seems to be 'easy watching' vs 'serious'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(0.08130365, 'Armageddon (1998)'),\n",
       " (0.068536215, 'Waterworld (1995)'),\n",
       " (0.063163035, 'Independence Day (a.k.a. ID4) (1996)'),\n",
       " (0.057814635, 'Batman Forever (1995)'),\n",
       " (0.057495695, 'Mission: Impossible II (2000)'),\n",
       " (0.057204306, 'Lethal Weapon 4 (1998)'),\n",
       " (0.05613863, 'Pay It Forward (2000)'),\n",
       " (0.055517893, \"Charlie's Angels (2000)\"),\n",
       " (0.052707464, 'Outbreak (1995)'),\n",
       " (0.052406102, 'Lake Placid (1999)')]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted(movie_comp, key=itemgetter(0), reverse=True)[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(-0.088592246, 'Pulp Fiction (1994)'),\n",
       " (-0.07503895, 'Godfather, The (1972)'),\n",
       " (-0.06794521, 'Chinatown (1974)'),\n",
       " (-0.06712756, \"One Flew Over the Cuckoo's Nest (1975)\"),\n",
       " (-0.06504186, 'Fargo (1996)'),\n",
       " (-0.06424171, 'Apocalypse Now (1979)'),\n",
       " (-0.06187558, 'Full Metal Jacket (1987)'),\n",
       " (-0.060102902, 'Goodfellas (1990)'),\n",
       " (-0.05871792, 'Being John Malkovich (1999)'),\n",
       " (-0.058146175, 'This Is Spinal Tap (1984)')]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted(movie_comp, key=itemgetter(0))[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "fac1 = movie_pca[1]\n",
    "movie_comp = [(f, movie_names[i]) for f,i in zip(fac1, topMovies)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Here's the 2nd component. It seems to be 'CGI' vs 'dialog driven'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(0.05334398, '8 1/2 (8½) (1963)'),\n",
       " (0.050121002, 'Mission to Mars (2000)'),\n",
       " (0.045871854, 'Brokeback Mountain (2005)'),\n",
       " (0.045580875, 'Home Alone 2: Lost in New York (1992)'),\n",
       " (0.045510445, 'Catwoman (2004)'),\n",
       " (0.045117103, 'Tank Girl (1995)'),\n",
       " (0.044080507, 'Transformers: Dark of the Moon (2011)'),\n",
       " (0.043967254, 'Avengers, The (1998)'),\n",
       " (0.04366053, 'Anaconda (1997)'),\n",
       " (0.04269051, 'Mr. Wrong (1996)')]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted(movie_comp, key=itemgetter(0), reverse=True)[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(-0.11018372, 'Lord of the Rings: The Fellowship of the Ring, The (2001)'),\n",
       " (-0.105354846, 'Lord of the Rings: The Return of the King, The (2003)'),\n",
       " (-0.10278478, 'Star Wars: Episode IV - A New Hope (1977)'),\n",
       " (-0.09862685, 'Lord of the Rings: The Two Towers, The (2002)'),\n",
       " (-0.0954031, 'Star Wars: Episode VI - Return of the Jedi (1983)'),\n",
       " (-0.09284634, 'Matrix, The (1999)'),\n",
       " (-0.09054229, 'Spider-Man (2002)'),\n",
       " (-0.08486909, 'Star Wars: Episode V - The Empire Strikes Back (1980)'),\n",
       " (-0.08446419,\n",
       "  'Raiders of the Lost Ark (Indiana Jones and the Raiders of the Lost Ark) (1981)'),\n",
       " (-0.083501816, 'Shrek (2001)')]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted(movie_comp, key=itemgetter(0))[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "We can draw a picture to see how various movies appear on the map of these components. This picture shows the first two components."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "hidden": true,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8IAAANTCAYAAABl0aRLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzs3Xd4FFXDxuHfZNMLhIRAIIGQ0EOREnqRKqAgqKCAoCCIjdf64id2XwtixYoFBFFRRBFRqoD0GnozQEgCIUAKJKSX3fn+CKyEJBAgirjPfV1eZuacmXNmdpfskzNzxjBNExERERERERFH4XS1OyAiIiIiIiLyd1IQFhEREREREYeiICwiIiIiIiIORUFYREREREREHIqCsIiIiIiIiDgUBWERERERERFxKOUShA3D6G0YRpRhGAcNw3iqhHI3wzBmnSnfaBhGrfPKaxqGkWEYxn/Loz8iIiIiIiIipbniIGwYhgX4COgDhANDDMMIP6/aKOCUaZp1gHeBieeVvwssvNK+iIiIiIiIiFxMeYwItwYOmqZ5yDTNPOA7oP95dfoDX575+Qegu2EYBoBhGAOAQ8CecuiLiIiIiIiIyAWVRxAOAo6csxx/Zl2JdUzTLADSAH/DMLyA/wNeKod+iIiIiIiIiFyUcznswyhhnVnGOi8B75qmmXFmgLj0RgxjDDAGwMvLq2WDBg0uo6siIiIiIiLXvi1btiSbphlwtftxrSqPIBwP1DhnORhIKKVOvGEYzkBF4CTQBhhoGMYbgC9gMwwjxzTND89vxDTNz4DPACIiIszIyMhy6LqIiIiIiMi1xzCMuKvdh2tZeQThzUBdwzBCgaPAYGDoeXXmAXcD64GBwHLTNE2g09kKhmG8CGSUFIJFREREREREyssVB2HTNAsMwxgLLAYswBemae4xDON/QKRpmvOAqcBXhmEcpHAkePCVtisiIiIiIiJyOYzCgdlriy6NFhERERERR2YYxhbTNCOudj+uVeUxa7SIiIiIiIjINUNBWERERERERByKgrCIiIiIiIg4FAVhERERERERcSgKwiIiIiIiIuJQFIRFRERERETEoSgIi4iIiIiIiENREBYRERERERGHoiAsIiIiIiIiDkVBWERERERERByKgrCIiIiIiIg4FAVhERERERERcSgKwiIiIiIiIuJQFIRFRERERETEoSgIi4iIiIiIiENREBYRERERERGHoiAsIiIiIiIiDkVBWERERERERByKgrCIiIiIiIg4FAVhERERERERcSgKwiIiIiIiIuJQFIRFRERERETEoSgIi4iIiIiIiENREBYRERERERGHoiAsIiIiIiIiDkVBWERERERERByKgrCIiIiIiIg4FAVhERERERERcSgKwiIiIiIiIuJQFIRFRERERETEoSgIi4iIiIiIiENREBYRERERERGHoiAsIiIiIiIiDkVBWERERERERByKgrCIiIiIiIg4FAVhERERERERcSgKwiIiIiIiIuJQFIRFRERERETEoSgIi4iIiIiIiENREBYRERERERGHoiAsIiIiIiIiDkVBWERERERERByKgrCIiIiIiIg4FAVhERERERERcSgKwiIiIiIiIuJQFIRFRERERETEoSgIi4iIAPn5BXz60jRubTicQU1GMKTFKJ4c9DyH9sZe8b4TYo/RrcrNV97JMvp97mpua3QXQ1uOJjbqcJGyyBXbWL9kc7n37YWRE+hTcyBDWoxiSItRjLr+PwCsnLeWSU9Ovuz9/vDJz3wzaXap5XH7j/DErc9yc50h3N50BHe3f4Df566+7PYAPn1pGvl5+fblyS98wZJZy6+4rxcy9bWv7OeuY4Xe3FxniH35+JFE+obdwcHdhy5r3+eK2n6Axwc8Y1/OTM/izUc/oH+9odx+3UgGNx/F8yMmcCI+ESj7sV/Mue+zpIRkxnR/9Ir3eSFjuj3Cql/XXbTewzf9H0eijxZbnxB7jNau3eyvwZAWo1jwzW8X3KashrQYRU52bollpmky8/0fGNRkBAMb382t4cN5ecybpKemX3Z753/mL+X8X6iv5zr3fL8wcgKzPpoDwPeT5/LF699ccNuZ7//AjLe/AyDxaBJjuj9K50o3Maz1mCL1rFYrbz32Abc3HcGtDYfzzn8/xjRNAL794Mcir1Vn3xt554mP7NvO+fxX+tcbys11hzLxP5Ow2WwArFmwgVfvf7tM50L+hUzTvOb+a9mypSkiIlKenhn2svnErc+ap0+dNk3TNG02m7nk+9/NpT+suKT95OfnF1t3NCbB7BrQr1z6WRZj+4wzl3z/e4lln7z4hfnOfz+yL5dX354f8Zr53Yc/XvF+LkViQrLZs9oA89cZi4us++XLRVe03xZO15uZ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bhh+tSvT570BzB05C9NqYlgM+k6+jSqN/nz2bJVGgTTo35gpbd+nQnBFanQI5ci62Av2+3R8GgsfmYutwIbNaiOsR12CWgVjODnRaFBTprT/EHdfd+5ach8p+5PwPSfMXykPX49Sj5fzgnCd3g1Y9/ZKTJsN48z9t9O6TiY9IY2c1Gw+DH+DsO51ufGDwucgf3fLdEybiTXfSst721Kv758T0F2o7EJilh2g/s1X/ogxkUuhe4RFRERE5B8r9Kn5lPRt1QBiXr+pyLpz7+m9lnx94xQGzRpeZBT677Tw0bmEda9H/X5/fxjNOpnFt/2+YMTv92Nx1RjdpdA9wldGj08SERERkX+s6r4el7T+WjRsweirFoIBrn+2JwU5+Vel7dTYk/R652aFYPnbKQiLiIiIyD/WuF718XCxFFlX2sR241NfueZGg/8JPCt70WjQdVel7eotggluU/OqtC2OTX96EREREZF/LE1sJyJ/BQVhEREREflH08R2IlLedGm0iIiIiIiIOBQFYREREREREXEoCsIiIiIiIiLiUBSERURERERExKEoCIuIiIiIiIhDURAWERERERERh6IgLCIiIiIiIg5FQVhEREREREQcioKwiIiIiIiIOBQFYREREREREXEoCsIiIiIiIiLiUBSERURERERExKEoCIuIiIiIiIhDURAWERERERERh6IgLCIiIiIiIg5FQVhEREREREQcioKwiIiIiIiIOBQFYREREREREXEoCsIiIiIiIiLiUBSERURERERExKEoCIuIiIiIiIhDURAWERERERERh6IgLCIiIiIiIg5FQVhEREREREQcioKwiIiIiIiIOBQFYREREREREXEoCsIiIiIiIiLiUBSERURERERExKEoCIuIiIiIiIhDURAWERERERERh6IgLCIiIiIiIg5FQVhEREREREQcioKwiIiIiIiIOBQFYREREREREXEoCsIiIiIiIiLiUBSERURERERExKEoCIuIiIiIiIhDURAWERERERERh6IgLCIiIiIiIg5FQVhEREREREQcSrkEYcMwehuGEWUYxkHDMJ4qodzNMIxZZ8o3GoZR68z6noZhbDEMY9eZ/3crj/6IiIiIiIiIlOaKg7BhGBbgI6APEA4MMQwj/Lxqo4BTpmnWAd4FJp5Znwz0M02zCXA38NWV9kdERERERETkQspjRLg1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PZk5cyZPPfU0s2bNZu+9c/jzn6+I9SsoKODxx59g9uw5RCKl9O/fj6OOOqpSbe+++y4lJaUMGnT0zr9xSdJuyyAsSdIe6J//vB2AJUuWMHjw1dxzz12/+BqRSISEhASCINjR5cUsWbKUH374gXPPPRuAjIwMzjrrj8yYMYMffphcru8rr7xKamoa9913DwUFBVx77fW0b9+e1q1bb3db//79ueSSyxgwoD/p6em/2n1KkvYsBmFJkn5jli9fzn333c+6dQWUlJTQs+fe/OEPpwLwwgsvsmzZMvLz81m8OJfzzz+Xp556JvbaxYsXc9ppp3LooYdy2223s2bNGoqLi2nbti3nn38eSUlJDBs2nC+++IK0tDTmz59PtWrVGDx4MBkZNTepZeTIkey3X+/YcVZWFllZWcyePWeTvrNnz6Z///4ApKen0759ez75ZDStW7fe7rbk5GQ6d+7EmDGfc8ghfXfcmyxJ2qP5jLAkSb8x1apV4/rrr+Puu+/k7rvvZMqUKUya9E2s/YcfJnPxxRdx//330qFDB+655y7uuecuTjnlZOrUqU2fPn1ITEzkiisu58477+Dee++huLiYjz4aFbvG9OkzOOusP3L//fdRv34DPvjggwpr+e6772nTps021d2yZUs+//xzIpEIq1atYtKkSSxdurRSbQDZ2W359ttvf+nbKEn6DXNGWJKk35hoNMqzz/6badOmArBixUpmzZpF165dANhrrx5Ur1693GtmzvyRp59+mhtvvJHq1asTiUR4/fU3mDhxEtFolLVr11KtWrVY/w4d2pOVlQVA27ZtmDy5/DLnDZYvX17hTHFFjj/+OJ577t9ceeVV1KxZk06dOrJuXUGl2gAyMmqxfPnybapBkhQfDMKSJO1B3pywgDuHTmXhygIaZqRzYa/am/R5663/UVhYwB13/JPk5GQeeuhhSkpKYu1paWnl+i9dupS77rqbyy67jPr16wEwatTHzJgxg1tvvZn09HSGDHmFpUuXxV6TnJwc+zohIYFIJFJhvSkpKRQXl1TY9nNpaWmcf/55seNHH32Mxo0bVaoNoKSkmJSUlG2qQZIUH1waLUnSHuLNCQu49vVvWbCygBBYsLKAOz6YSnFptFy//Px8MjMzSU5OZtmyZYwbN36z18zPz+cf/7iNM844jezstrHz69blU716ddLT01m7di2j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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f41ae4ba5c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "idxs = np.random.choice(len(topMovies), 50, replace=False)\n",
    "X = fac0[idxs]\n",
    "Y = fac1[idxs]\n",
    "plt.figure(figsize=(15,15))\n",
    "plt.scatter(X, Y)\n",
    "for i, x, y in zip(topMovies[idxs], X, Y):\n",
    "    plt.text(x,y,movie_names[i], color=np.random.rand(3) * 0.7, fontsize=11)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Collab filtering from scratch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Dot product example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(\n",
       "  1  2\n",
       "  3  4\n",
       " [torch.cuda.FloatTensor of size 2x2 (GPU 0)], \n",
       "   2   2\n",
       "  10  10\n",
       " [torch.cuda.FloatTensor of size 2x2 (GPU 0)])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = T([[1.,2],[3,4]])\n",
    "b = T([[2.,2],[10,10]])\n",
    "a, b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "  2   4\n",
       " 30  40\n",
       "[torch.cuda.FloatTensor of size 2x2 (GPU 0)]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a * b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "  6\n",
       " 70\n",
       "[torch.cuda.FloatTensor of size 2 (GPU 0)]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(a * b).sum(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "class DotProduct(nn.Module):\n",
    "    def forward(self, u, m): return (u * m).sum(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "model=DotProduct()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\n",
       "  6\n",
       " 70\n",
       "[torch.cuda.FloatTensor of size 2 (GPU 0)]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model(a, b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Dot product model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "u_uniq = ratings.userId.unique()\n",
    "user2idx = {o: i for i, o in enumerate(u_uniq)}\n",
    "ratings.userId = ratings.userId.apply(lambda x: user2idx[x])\n",
    "\n",
    "m_uniq = ratings.movieId.unique()\n",
    "movie2idx = {o: i for i, o in enumerate(m_uniq)}\n",
    "ratings.movieId = ratings.movieId.apply(lambda x: movie2idx[x])\n",
    "\n",
    "n_users = int(ratings.userId.nunique())\n",
    "n_movies = int(ratings.movieId.nunique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "class EmbeddingDot(nn.Module):\n",
    "    def __init__(self, n_users, n_movies):\n",
    "        super().__init__()\n",
    "        self.u = nn.Embedding(n_users, n_factors)\n",
    "        self.m = nn.Embedding(n_movies, n_factors)\n",
    "        self.u.weight.data.uniform_(0, 0.05)\n",
    "        self.m.weight.data.uniform_(0, 0.05)\n",
    "        \n",
    "    def forward(self, cats, conts):\n",
    "        users, movies = cats[:, 0],cats[:, 1]\n",
    "        u, m = self.u(users), self.m(movies)\n",
    "        return (u * m).sum(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "x = ratings.drop(['rating', 'timestamp'],axis=1)\n",
    "y = ratings['rating'].astype(np.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "data = ColumnarModelData.from_data_frame(path, val_idxs, x, y, ['userId', 'movieId'], 64)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "wd = 1e-5\n",
    "model = EmbeddingDot(n_users, n_movies).cuda()\n",
    "opt = optim.SGD(model.parameters(), 1e-1, weight_decay=wd, momentum=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2f9839e9631c4774bda60e97cb385f00",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                 \n",
      "    0      1.675747   1.631626  \n",
      "    1      1.090123   1.301549                                 \n",
      "    2      0.932382   1.213461                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([1.21346])]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit(model, data, 3, opt, F.mse_loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "set_lrs(opt, 0.01)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5f5caacf6f4047af9d877b54c7cc64d0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                  \n",
      "    0      0.726431   1.145745  \n",
      "    1      0.707382   1.134803                                  \n",
      "    2      0.661197   1.129298                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([1.1293])]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit(model, data, 3, opt, F.mse_loss)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Bias"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.5, 5.0)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "min_rating, max_rating = ratings.rating.min(), ratings.rating.max()\n",
    "min_rating, max_rating"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def get_emb(ni,nf):\n",
    "    e = nn.Embedding(ni, nf)\n",
    "    e.weight.data.uniform_(-0.01, 0.01)\n",
    "    return e\n",
    "\n",
    "class EmbeddingDotBias(nn.Module):\n",
    "    def __init__(self, n_users, n_movies):\n",
    "        super().__init__()\n",
    "        (self.u, self.m, self.ub, self.mb) = [get_emb(*o) for o in [\n",
    "            (n_users, n_factors), (n_movies, n_factors), (n_users,1), (n_movies,1)\n",
    "        ]]\n",
    "        \n",
    "    def forward(self, cats, conts):\n",
    "        users,movies = cats[:, 0], cats[:, 1]\n",
    "        um = (self.u(users) * self.m(movies)).sum(1)\n",
    "        res = um + self.ub(users).squeeze() + self.mb(movies).squeeze()\n",
    "        res = F.sigmoid(res) * (max_rating - min_rating) + min_rating\n",
    "        return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "hidden": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "wd = 2e-4\n",
    "model = EmbeddingDotBias(cf.n_users, cf.n_items).cuda()\n",
    "opt = optim.SGD(model.parameters(), 1e-1, weight_decay=wd, momentum=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c1f51a7e747f4a1da9743b80caf9a05e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                  \n",
      "    0      0.859378   0.839416  \n",
      "    1      0.772442   0.81305                                   \n",
      "    2      0.785252   0.809429                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([0.80943])]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit(model, data, 3, opt, F.mse_loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "set_lrs(opt, 1e-2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f6700f88f39e486ea75b851a09e91b08",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                  \n",
      "    0      0.767086   0.802531  \n",
      "    1      0.734916   0.800935                                  \n",
      "    2      0.730663   0.800853                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([0.80085])]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit(model, data, 3, opt, F.mse_loss)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Mini net"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "code_folding": []
   },
   "outputs": [],
   "source": [
    "class EmbeddingNet(nn.Module):\n",
    "    def __init__(self, n_users, n_movies, nh=10, p1=0.05, p2=0.5):\n",
    "        super().__init__()\n",
    "        (self.u, self.m) = [get_emb(*o) for o in [\n",
    "            (n_users, n_factors), (n_movies, n_factors)]]\n",
    "        self.lin1 = nn.Linear(n_factors * 2, nh)\n",
    "        self.lin2 = nn.Linear(nh, 1)\n",
    "        self.drop1 = nn.Dropout(p1)\n",
    "        self.drop2 = nn.Dropout(p2)\n",
    "        \n",
    "    def forward(self, cats, conts):\n",
    "        users,movies = cats[:, 0],cats[:, 1]\n",
    "        x = self.drop1(torch.cat([self.u(users), self.m(movies)], dim=1))\n",
    "        x = self.drop2(F.relu(self.lin1(x)))\n",
    "        return F.sigmoid(self.lin2(x)) * (max_rating - min_rating + 1) + min_rating - 0.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "wd = 1e-5\n",
    "model = EmbeddingNet(n_users, n_movies).cuda()\n",
    "opt = optim.Adam(model.parameters(), 1e-3, weight_decay=wd)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7f9a208e66494d82af9a86187a3d3bef",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                  \n",
      "    0      0.889559   0.812058  \n",
      "    1      0.827164   0.791009                                  \n",
      "    2      0.784355   0.785319                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([0.78532])]"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit(model, data, 3, opt, F.mse_loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_lrs(opt, 1e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cdd4df4006bb42a6b9a6b4a969910492",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>HBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Epoch', max=3), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch      trn_loss   val_loss                                  \n",
      "    0      0.755579   0.788616  \n",
      "    1      0.748564   0.790333                                  \n",
      "    2      0.753161   0.788314                                  \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[array([0.78831])]"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit(model, data, 3, opt, F.mse_loss)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "navigate_num": "#000000",
    "navigate_text": "#333333",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700",
    "sidebar_border": "#EEEEEE",
    "wrapper_background": "#FFFFFF"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "123px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
